home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / ec_plus / ec-plus.lha / README < prev   
Text File  |  1989-10-11  |  4KB  |  125 lines

  1.    You can find an exhaustive (I hope) description of the EC++ preprocessor
  2. and environment in the file "EC++.TUTORIAL" in this directory. These are more
  3. exhaustive of notes for installation and practical use of EC++.
  4.  
  5.    The sources that come with this distribution are organized in the following
  6. directories: 
  7.  
  8. EC++ :
  9.    Contains all the sources to make up the EC++ preprocessor and the Ctags
  10. program for producing tags files adequate to C++.
  11.  
  12. globals : 
  13.    Contains files that should be included or linked with the applications.
  14.  
  15. gc++ :
  16.    This is an interface for using the Boehm's garbage collector. The gc is not
  17. included with this distribution. It can be obtained by anonymous ftp from:
  18.                 titan.rice.edu:~ftp/public/gc.shar.0[12]
  19.  
  20. generics :
  21.    This contains an example of a parametric container class.
  22.  
  23. containers : 
  24.    Actual implementation of the container class used by the generic interface
  25. contained in the previous directory.
  26.  
  27. sentence :
  28.    This is a complete example program using some of the features of EC++. Note
  29. in particular how the initialization of the garbage collector is done before
  30. entering execution of the main.
  31.    N.B. this program is supposed to use the "String" class of the GNU-g++
  32. library. However, due to a special memory management technique in this class,
  33. the program won't work using the gc. You have to link it making some dummy
  34. version of the interface routines toward the gc, or else use a different
  35. String class (with equivalent methods) and the gc. I have tried both.
  36.  
  37.    The first three directories are those that really constitute the EC++
  38. preprocessor and environment. The last three directories are intended as
  39. examples of use of EC++. 
  40.  
  41.    The software of this distribution is copyrighted according to the notice
  42. "Copyright" in this directory, which is also included in most of the source
  43. files.
  44.  
  45.    If you have GNU-g++, 1.35.0 or more recent versions, installed, you should
  46. be able to compile and link the preprocessor just by executing make in the
  47. EC++ directory.
  48.  
  49.    Some of the examples given include both the original ".h" and ".cc" files
  50. as well as the output from the translator in the ".H" and ".C" files.
  51.    Due to a problem with the "#line" directive in the version of g++ that I am
  52. using (1.35.0), the "#line" directive is commented in the preprocessor output.
  53. Should this problem be fixed in the version you are using, you should modify
  54. the "ECprocess.cc" file to output an effective "#line" directive.
  55.  
  56.    The makefiles are in their final version as they come out after the
  57. preprocessing step. 
  58.    However be aware of the fact that the basic patterns that should be
  59. provided before running the preprocessor in the "generic" directory are:
  60.  
  61. ---- preprocess.mk:
  62.  
  63. .SUFFIXES: .C .cc .H .h
  64.  
  65. .cc.C:
  66.     EC++ $*.cc  > t0000 
  67.     mv t0000 $*.C
  68.  
  69. .h.H:
  70.     EC++ $*.h  > t0000 
  71.     mv t0000 $*.H
  72.  
  73. INC =
  74.  
  75. SRC =
  76.  
  77. all: inc src
  78.  
  79. inc : $(INC)
  80.  
  81. src : $(SRC)
  82. #
  83.  
  84. ---- compile.mk:
  85.  
  86. .SUFFIXES: .o .c .C .H
  87.  
  88. .c.o:
  89.     cc -g -c -I$(cc) $*.c
  90.  
  91. .C.o:
  92.     g++ -g -c -I$(cc) $*.C
  93.  
  94. OBJ =
  95.  
  96. all: obj tags
  97.  
  98. obj : $(OBJ)
  99.  
  100. tags: $(OBJ)
  101.     cctags *.cc *.h | sort > tags
  102. #
  103.  
  104. and also be aware that the preprocessor will fill the goal fields!
  105.  
  106.  
  107.    EC++ is not a product of my main line of work, but more a byproduct. A
  108. tool that is proving itself to be useful for the design and development of a
  109. geometric modeling toolkit which takes most of my time.
  110.    I hope that EC++ will also help you in your work. After considering the
  111. disclaimer of responsibility that is explained in the Copyright note, should
  112. you have problems using this software, or should something not be clear, let
  113. me know at masotti@lipari.usc.edu and I will do my best to help you (if I am
  114. not overwhelmed with the rest of the work that I have to do).
  115.  
  116.    I would really appreciate if you let me know that you are using EC++. I
  117. could set up a mailing list, and communicate with you in matters of interest.
  118.  
  119.    Comments, suggestions, bug fixes and improvements to this software are also
  120. welcome.
  121.  
  122. Cheers,
  123.  
  124. --Glauco Masotti
  125.